#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int query(int y){
    printf("%d\n",y);
    //关闭输出流
    fflush(stdout);
    int t;
    //读取反馈的答案
    scanf("%d",&t);
    if(t==0 || t==-2){
        exit(0);
    }
    return t;
}
int main(void){
    int m,n;
    scanf("%d%d",&m,&n);
    int p[35];
    for(int i=0;i<n;i++){
        //n次询问1
        int t=query(1);
        //因为x必须大于1 返回值如果不是1说明说谎
        p[i]=t==1;
    }
    int l=2,r=m;
    for(int q=0;;q++){
        int y=(l+r)/2;
        //获取反馈
        int t=query(y);
        //看是否说谎，如果说谎则反馈要反过来看
        //说谎存在循环
        if(!p[q%n]){
            t*=-1;
        }
        if(t==1){
            l=y+1;
        }
        else{
            r=y-1;
        }
    }
    return 0;
}
